1. The Field of the Invention
The present invention relates to message processing. More particularly, the present invention relates to methods, systems, and computer program products that reduce buffer requirements for processing messages and therefore allow a messaging system to send or receive relatively larger messages using a given buffer size.
2. Background and Related Art
Message processing occurs in a variety of contexts, including distributed application support, within communication protocols generally, etc. One of the problems that message processing systems continually face relates to processing messages of unbounded size. Conventional message processing systems typically buffer messages of a reasonable size, but large messages lead to unpredictable and perhaps massive memory requirements, unless rejected. Large is a relative term and depends in part on the message processing system itself. But as network speeds have increased, message size has increased as well, particularly given the popularity of exchanging multimedia and graphic content. While in terms of network bandwidth, multiple megabyte messages may no longer represent much of a problem, when processing considerations are taken into account, including both memory and processing time, a multiple megabyte message can represent a significant strain on messaging systems, especially if they are received on a somewhat regular basis.
Of course, computers with ever increasing processing power and available memory become less expensive everyday, mitigating some of the resource demands caused by large messages. Given hardware advancements over the past few years, one approach might include increasing available buffer size and processing speed to account for larger messages. Most messages tend to be comparatively small, so one line of reasoning suggests that an occasional large message does not represent much of a problem.
There are at least two considerations that this line of reasoning fails to consider. First and foremost is the premise that large messages will only arrive occasionally. There is always the possibility that a messaging system will be subject to a denial of service attack. In general, a denial of service attack attempts to overwhelm a piece of hardware with requests that take longer for the receiving computer to process than for the sending computer or computers to generate. Sending large messages to a message processing system is a logical starting place for a malicious denial of service attack, and therefore presuming that large messages will be received only occasionally is a dangerous strategy for dealing with large messages. Second, many message processing systems operate at near capacity from time to time, so the possibility of a large message arriving at a busy time cannot be ignored.
Due to these and other problems found in traditional messaging systems, methods, systems, and computer program products for reducing buffer requirements when processing messages so that a messaging system can send or receive relatively larger messages using a given buffer size are desired.